import {reqCategoryList,reqGetBannerList,reqFloorList} from "@/api/index.js"
// home模块的小仓库

// / state:仓库储存数据的地方
// mutations：修改state的唯一手段
// action：处理actions，可以书写组件的业务逻辑，也可处理异步
// getters：理解为计算属性，用于简化仓库数据，让组件获取仓库数据更方便

const state = {
    // state中数据初始值类型，为服务器返回的类型值，若服务器返回对象则state初始值为对象
    categoryList: [],
    // 轮播图的数据
    bannerList: [],
    // floor的数据
    floorList:[]
}
const mutations = {
    CETEGORYLIST(state,categoryList){
        state.categoryList = categoryList
    },
    CETBANNERLIST(state,bannerList){
        state.bannerList = bannerList
    },
    GETFLOORLIST(state,floorList){
        state.floorList =floorList
    }

}
const actions ={
    // 通过API里的接口函数调用，向服务器发请求，获取服务器的数据
    async categoryList({commit}){
        let result= await reqCategoryList()
        if(result.code===200){
            commit('CETEGORYLIST',result.data)
        }
    },
    // 获取首页轮播图的数据
    async getBannerList({commit}){
        let result = await reqGetBannerList()
        if(result.code ===200){
            commit('CETBANNERLIST',result.data)
        }
    },
    // 获取楼层的数据
    async getFloorList({commit}){
        let result = await reqFloorList()
        if(result.code === 200){
            commit('GETFLOORLIST',result.data)
        }
    }
}
const getters = {}

// 对外暴露
export default {
    state,
    mutations,
    actions,
    getters
}